1. Field of the Invention
Example embodiments of the present invention relate generally to a method of receiving data packets, and, more particularly, to a method of receiving out-of-order data packets.
2. Description of the Related Art
In conventional packet switched communication networks, packets transmitted in a given scheduling order are often received out-of-order. For example, if a sending unit (e.g., a base station, a mobile station, a radio network controller, etc.) sends three data packets in an order [1, 2, 3] and a receiving unit (e.g., a base station, a mobile station, a radio network controller, etc.) receives the three data packets in an order [2, 3, 1], the three data packets are said to be out-of-order.
The phenomenon of out-of-order data packets may be caused by any number of reasons. Such reasons may include a plurality of physical or logical links connecting the sending unit and the receiving unit such that different data packets are sent along different physical/logical links, different distances associated with one or more of the plurality of physical/logical links, different scheduling delays associated with one or more of the plurality of physical/logical links, etc. In another example, data packets may truly be “lost”, for example due to interference present on one or more of the plurality of physical/logical links.
In an example, a wireless communication system may include a plurality of physical links (e.g., Tls, Els, etc.) connecting a base station (BS) with a radio network controller (RNC). The plurality of physical links may be associated with different distances and/or different routes each with different associated delays (e.g., processing delays, propagation delays, etc.). The wireless communication system may also include a plurality of wireless or “air interface” links (e.g., channels, hand-off legs, etc.) associated with different associated delays (e.g., processing delays, propagation delays, etc.) and data transmission/reception rates.
In many commonly used wireless communication protocols (e.g., a radio link protocol (RLP)), upper layer or higher layer functionality depends upon receiving an ordered set of data packets. In other words, the order of the data packets is a factor in proper data extraction at a higher layer. In systems employing such wireless communication protocols, if data packets are received out-of-order, the receiving unit interprets the out-of-order data packet as an indicator of one or more missing data packets (e.g., intervening data packets expected between a previously received data packet and the out-of-order data packet), and sends a non-acknowledgment (NACK) to the sending unit to prompt the sending unit to resend the missing data packet or packets. Alternatively, if the missing data packet is received within a fixed time period after the out-of-order data packet is detected at the receiving unit, the NACK is not sent and the “missing” data packet is transferred to the upper layer for further processing.